home *** CD-ROM | disk | FTP | other *** search
- glass_color = white;
-
- # Creating walls...
-
- pnt1 = ctlpt (E3, 0.15, 0, 0);
- pnt2 = ctlpt (E3, 0.25, 0, 0.05);
- pnt3 = ctlpt (E3, 0.35, 0, 0.15);
- pnt4 = ctlpt (E3, 0.4, 0, 0.3);
- pnt5 = ctlpt (E3, 0.4, 0, 0.4);
-
- gside = cbezier ( list ( pnt1, pnt2, pnt3, pnt4, pnt5 ) );
- gwalls = surfprev ( gside );
- color ( gwalls, glass_color );
-
- # Creating inside walls...
-
- delta = 0.01;
- pnt12 = ctlpt (E3, 0.15, 0, 0+delta);
- pnt22 = ctlpt (E3, 0.25-delta, 0, 0.05+delta);
- pnt32 = ctlpt (E3, 0.35-delta, 0, 0.15+delta);
- pnt42 = ctlpt (E3, 0.4-delta, 0, 0.3);
- pnt52 = ctlpt (E3, 0.4-delta, 0, 0.4);
-
- gside2 = cbezier ( list ( pnt52, pnt42, pnt32, pnt22, pnt12 ) );
- gwalls2 = surfprev ( gside2 );
-
- color ( gwalls2, glass_color );
-
- # attrib ( gwalls2, "rgb", "255,255,255" );
-
- # Creating bottom
-
- gbottom = cylin ( vector(0,0,0), vector(0,0,delta), 0.152 );
- color ( gbottom, glass_color );
- # attrib ( gbottom, "rgb", "255,255,255" );
-
- # Creating upper side
- gupseg = cbezier ( list ( pnt5, pnt52 ) );
- gup = surfprev ( gupseg );
- color ( gup, glass_color );
- attrib ( gup, "rgb", "255,255,255" );
-
- # Creating handle
- pt1 = ctlpt (E3, 0.25, 0, 0.1);
- pt2 = ctlpt (E3, 0.35, 0, 0.08);
- pt3 = ctlpt (E3, 0.45, 0, 0.14);
- pt4 = ctlpt (E3, 0.48, 0, 0.25);
- pt5 = ctlpt (E3, 0.35, 0, 0.3);
-
- cross_sect = circle(vector(0,0,0),0.05) * scale ( Vector ( 1/2, 1, 1 ) );
-
- hc = cbezier ( list(pt1,pt2,pt3,pt4,pt5) );
-
- tmp = sweepsrf ( cross_sect, hc, OFF );
-
- handle = tmp - gwalls;
- color ( handle, glass_color );
-
- # view ( handle , true );
-
- # Creating the glass itself...
- glass = list ( gwalls, gwalls2, gbottom, gup, handle );
-
- # glass = list ( gwalls, gbottom, gup, handle );
-
- #interact ( glass );
-
- # view ( glass, true );
-
- # Saving...
- # save ( "glass.dat", list ( view_mat, glass ) );
- #exit();
-